from longguo_ui.base.base import BasePage
from longguo_ui.config.locators import PaymentManagementLocators
import time


class DeletePage(BasePage):
    """
    支付产品删除页面操作类，继承自基础页面类
    封装支付产品的添加与删除相关操作流程
    """

    def __init__(self, driver):
        """
        初始化支付产品删除页面实例

        :param driver: 浏览器驱动实例，用于页面交互
        """
        super().__init__(driver)

    def delete_payment_product(self):
        """
        执行支付产品的添加与删除完整流程
        步骤包括：进入支付产品页面、添加测试产品、执行删除操作
        """
        # 点击支付管理菜单（展开子菜单）
        self.click(PaymentManagementLocators.PAYMENT_MANAGEMENT)
        time.sleep(1)  # 等待菜单展开

        # 点击进入支付产品信息页面
        self.click(PaymentManagementLocators.PAYMENT_PRODUCT)
        time.sleep(1)  # 等待页面加载

        # 点击添加支付产品按钮，打开添加表单
        self.click(PaymentManagementLocators.ADD_PRODUCT)
        time.sleep(1)  # 等待表单加载

        # 输入支付产品编号（测试用例编号：999）
        self.send_keys(PaymentManagementLocators.PRODUCT_CODE, "999")
        time.sleep(1)  # 等待输入完成

        # 输入支付产品名称（测试用例名称：小富恩）
        self.send_keys(PaymentManagementLocators.PRODUCT_NAME, "小富恩")
        time.sleep(1)  # 等待输入完成

        # 点击提交按钮，完成测试产品添加
        self.click(PaymentManagementLocators.SUBMIT)
        time.sleep(3)  # 等待添加操作完成并刷新列表

        # 点击删除按钮，触发删除确认流程
        self.click(PaymentManagementLocators.DELETE)
        time.sleep(1)  # 等待删除确认弹窗加载

        # 点击确认按钮，确认删除该支付产品
        self.click(PaymentManagementLocators.CONFIRM)
        time.sleep(5)  # 等待删除操作完成